package com.zenithmind.library.pojo.query;

import com.zenithmind.common.query.BaseQuery;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 图书作者关联查询条件
 *
 * @author ZenithMind
 * @since 2024-06-14
 */
@EqualsAndHashCode(callSuper = true)
@Data
@Schema(name = "图书作者关联查询条件", description = "图书作者关联查询的条件参数")
public class BookAuthorQuery extends BaseQuery {

    @Schema(description = "图书ID", example = "1")
    private String bookId;

    @Schema(description = "图书标题", example = "Java编程思想")
    private String bookTitle;

    @Schema(description = "图书ISBN", example = "9787111213826")
    private String bookIsbn;

    @Schema(description = "作者ID", example = "1")
    private String authorId;

    @Schema(description = "作者姓名", example = "鲁迅")
    private String authorName;

    @Schema(description = "作者英文名", example = "Lu Xun")
    private String authorNameEn;

    @Schema(description = "作者角色", example = "主编")
    private String authorRole;

    @Schema(description = "排序号", example = "1")
    private Integer sortOrder;

    @Schema(description = "关键词搜索", example = "编程")
    private String keyword;

    @Schema(description = "排序字段", example = "sortOrder")
    private String sortField;

    @Schema(description = "排序方向 (asc/desc)", example = "asc")
    private String sortDirection;
}
